#!/usr/bin/env python3
# -*- coding: utf-8 -*-

"""
数据库初始化脚本
用于创建所有表结构，包括Conversation和Message表
"""

import sys
from db.base import init_db, Base
from db.models import Category, Document, Conversation, Message


def initialize_database():
    """初始化数据库，创建所有表结构"""
    print("开始初始化数据库...")
    
    try:
        # 创建所有表结构
        init_db()
        
        # 列出已创建的表
        print("已创建的表结构:")
        for table in Base.metadata.sorted_tables:
            print(f"- {table.name}")
            
        # 特别检查Conversation和Message表是否已创建
        tables = [table.name for table in Base.metadata.sorted_tables]
        if 'conversations' in tables:
            print("✅ Conversation表创建成功")
        else:
            print("❌ Conversation表创建失败")
            
        if 'messages' in tables:
            print("✅ Message表创建成功")
        else:
            print("❌ Message表创建失败")
            
        print("\n数据库初始化完成！")
        return True
    except Exception as e:
        print(f"❌ 数据库初始化过程中出错: {str(e)}")
        import traceback
        traceback.print_exc()
        return False


if __name__ == "__main__":
    success = initialize_database()
    sys.exit(0 if success else 1)